Настройка мониторинга целостности каталога

Введение

Инструкция описывает настройку контроллеров домена и подсистемы мониторинга для отображения данных из LDAP.

К инструкции прилагается файл скрипта. Скрипт располагается в папке «Скрипт мониторинга целостности каталога». (Личный кабинет → Дистрибутивы → aldpro → Без сертификации/x86_64 → 3.0 → Документы → 3.2.0)

Действия на контроллерах домена

  1. Создать директорию /etc/zabbix/scripts/:

mkdir /etc/zabbix/scripts/
  1. Переместить скрипт getobjects.py в директорию /etc/zabbix/scripts/

  2. Сделать скрипт исполняемым:

chmod +x /etc/zabbix/scripts/getobjects.py
  1. В файл /etc/zabbix/zabbix_agentd.conf.d/userparameters.conf добавить строку:

echo "UserParameter=getobjects,python3 /etc/zabbix/scripts/getobjects.py --ldap-server \"localhost\" --ldap-port 389 --bind-dn \"cn=Directory Manager\" --bind-password \"password\" --base-dn \"DC=test,DC=lan\" --dump" >> /etc/zabbix/zabbix_agentd.conf.d/userparameters.conf

где:

  • --ldap-server – адрес сервера LDAP;

  • --ldap-port – порт для подключения к каталогу;

  • --bind-dn – учетная запись для подключения к каталогу с необходимыми правами на извлекаемые записи. В примере используется УЗ Directory Manager;

  • --bind-password – пароль учетной записи;

  • --base-dn – стартовая точка поиска в каталоге.

  1. Проверить, что строки добавлены:

grep "getobjects" /etc/zabbix/zabbix_agentd.conf.d/userparameters.conf
  1. Разрешить сервису zabbix выполнять скрипт:

sed -i -e 's/EnableRemoteCommands=1/AllowKey=system.run[*]/g' /etc/zabbix/zabbix_agentd.conf.d/zabbix_agent.conf
  1. Перезапустить агент мониторинга:

systemctl restart zabbix-agent
  1. Убедиться в работе скрипта:

zabbix_agentd -t getobjects

Пример вывода команды:

getobjects                                    [t|{
"users": 1,
"computers": 3,
"services": 10,
"usergroups": 6,
"hostgroups": 2,
"hbacrules": 2,
"sudorules": 0,
"dnszones": 2,
"certificates": 0,
"replication_conflicts": 0
}]

Действия на подсистеме мониторинга

Действия на web-портале Zabbix

Примечание

Для перехода на web-портал zabbix необходимо перейти по адресу https://mon.test.lan/zabbix,

где:

  • mon - идентификатор сервера мониторинга;

  • test.lan - имя домена;

  • /zabbix - компонент, через который происходит авторизация на сервере мониторинга.

Для получения учетных данных системной учетной записи для доступа к веб-интерфейсу Zabbix необходимо выполнить на сервере мониторинга:

aldpro-salt-call pillar.get aldpro_deploy_data:config:monitoring_credentials:monitoring_dc01,

где:

  • dc01 короткое имя КД.

Далее необходимо преобразовать пароль:

aldpro-salt-call aldpro_subsystems.password_decrypt password_enc='<PASSWORD>' private_key_file=/etc/ssl/certs/zabbix_vault.key
  1. Перейти в Configuration → Templates → Подсистема «Службa каталогов» → Items и создать новый Item (Create Item)

../../../_images/image_11.png

Создание нового Item

Заполнить следующие данные:

Name

Type

Key

Type of information

getobjects

Zabbix agent (active)

getobjects

Text

../../../_images/image_21.png

Items

  1. Создать связанные элементы данных. Для этого перейти в Configuration → Templates → Подсистема «Службa каталогов» → Items → Create Item

Заполнить следующие данные:

Вкладка Item

Name

getobjects.users

Type

Dependent item

Key

getobjects.users

Master item

Подсистема «Служба каталогов»: getobjects

Вкладка Preprocessing

Name

JSONPath

Parameters

$.users

Type of information

Numeric (unsigned)

../../../_images/image_31.png

Вкладка Item

../../../_images/image_41.png

Вкладка Preprocessing

Нажать кнопку [Add]

Данный пример показывает создание связанных элементов данных для типа объектов users. Для остальных типов элементы данных создаются аналогичным образом.

Перечень типов объектов:

  • total;

  • users;

  • computers;

  • services;

  • usergroups;

  • hostgroups;

  • hbacrules;

  • sudorules;

  • dnszones;

  • certificates;

  • replication_conflicts.

  1. Проверить корректность настроек:

Проверить получение и обработку данных можно на странице Latest data. Для этого установить фильтр getobjects по полю Name. Нажать кнопку [Apply] (применить).

../../../_images/image_51.png

Вкладка Latest data

Действия в терминале

Разрешаем серверу zabbix запуск скриптов на удаленной машине без ввода пароля sudo. Необходимо внести изменения в файл /etc/sudoers.d/zabbix. Привести файл к виду:

zabbix ALL = (ALL) NOPASSWD: /usr/bin/nmap -O *, /etc/zabbix/scripts/getobjects.py

Действия выполняемые в web-портал Grafana

Примечание

Для перехода на web-портал grafana необходимо перейти по адресу https://mon.test.lan:3000/aldpro/dashboards,

где:

  • mon - идентификатор сервера мониторинга;

  • test.lan - имя домена;

  • :3000 - порт, на котором работает grafana.

Для получения пароля системной учетной записи admin для доступа к веб-интерфейсу Grafana необходимо выполнить на сервере мониторинга:

aldpro-salt-call pillar.get aldpro_deploy_data:passwords:grafana:password

Далее необходимо преобразовать пароль:

aldpro-salt-call aldpro_subsystems.password_decrypt password_enc='<PASSWORD>' private_key_file=/etc/ssl/certs/zabbix_vault.key

Вариант 1. Панели с последними значениями

  1. Перейти на страницу Dashboards. Home → Dashboards → New → New Dashboard

../../../_images/image_61.png

Страница Dashboards

  1. Создать визуализацию. Нажать на кнопку [+ Add visualization]

../../../_images/image_71.png

Страница New dashboards

  1. Выбрать как источник данных Zabbix

../../../_images/image_8.png

Выбор источника данных Zabbix

  1. Заполнить настройки панели визуализации

Group

ALD Pro discovery

Host

/.*/

Item

getobjects.users

Visualisations > Stat

Suggestions > Stat colored background

Panel options

Title

Users

Value options

Show

Calculate

Calculation

Last

Stat styles

Text mode

Value или Value and Name

Color mode

Background Gradient

Apply

../../../_images/image_9.png

Настройки панели визуализации

../../../_images/image_10.png

Настройки панели визуализации

../../../_images/image_111.png

Настройки панели визуализации

../../../_images/image_12.png

Настройки панели визуализации

  1. Повторить создание блоков визуализации для остальных типов элементов:

  • total;

  • users;

  • computers;

  • services;

  • usergroups;

  • hostgroups;

  • hbacrules;

  • sudorules;

  • dnszones;

  • certificates;

  • replication_conflicts.

Вариант 2. Столбчатая диаграмма

  1. Перейти на страницу Dashboards. Home → Dashboards → New → New Dashboard

  2. Создать визуализацию. Нажать на кнопку [+ Add visualization]

  3. Заполнить настройки панели визуализации

Group

ALD Pro discovery

Host

/.*/

Item

getobjects.users

Visualisations > Time series

Panel options

Title

Users

Apply

../../../_images/image_13.png

Настройки панели визуализации

../../../_images/image_14.png

Настройки панели визуализации

  1. Повторить создание панелей визуализации для остальных типов элементов

Расположение и размер панелей настраиваются в соответствии с требованиями. После создания всех визуализаций дашборд сохраняется.